const {remote} = require('electron');
// 导入通知Notification
const {dialog, Notification} = remote;


const logger = require('./logger');

const LOG_PREFIX = '[ui]';

window.versions = process.versions;

window.interop = {
  log: {
    info(msg) {
      logger.info(`${LOG_PREFIX} ${msg}`);
    },
    debug(msg) {
      logger.debug(`${LOG_PREFIX} ${msg}`);
    },
    warn(msg) {
      logger.warn(`${LOG_PREFIX} ${msg}`);
    },
    error(msg) {
      logger.error(`${LOG_PREFIX} ${msg}`);
    },
    log(msg) {
      logger.silly(`${LOG_PREFIX} ${msg}`);
    }
  },
  setBadgeCount(count) {
    return remote.app.setBadgeCount(count);
  },
  showOpenDialog(options) {
    return dialog.showOpenDialog(options);
  },
  showSaveDialog(options, callback) {
    return dialog.showSaveDialog(options);
  },
  showNotification() {
    console.log(Notification.isSupported())
    // 实例化不会进行通知
    let notification = new Notification({
      // 通知的标题, 将在通知窗口的顶部显示
      title: 'Boss',
      // 通知的副标题, 显示在标题下面 macOS
      subtitle: '重要消息',
      // 通知的正文文本, 将显示在标题或副标题下面
      body: '@所有人 放假！！！',
      // false有声音，true没声音
      silent: false,
      // 通知的超时持续时间 'default' or 'never'
      timeoutType: 'default',
    })

    // 向用户展示 notification
    return notification
    // return new window.Notification(options.title, options)
  }
};
